# -*- coding: utf-8 -*-
"""
配置模块
提供系统配置管理功能

主要功能:
- 数据库配置管理
- Redis缓存配置
- 应用程序配置
- 环境变量管理
"""

from .database import (
    DatabaseConfig,
    db_config,
    init_database,
    close_database,
    get_database,
    get_collection,
    check_database_health,
    retry_on_connection_failure
)

from .settings import (
    Config,
    DevelopmentConfig,
    TestingConfig,
    ProductionConfig,
    config,
    get_config_by_name,
    validate_config
)

# 暂时注释Redis配置，避免aioredis兼容性问题
# from .redis_config import (
#     RedisConfig,
#     redis_config,
#     init_redis,
#     close_redis,
#     get_redis,
#     check_redis_health,
#     cache_set,
#     cache_get,
#     cache_delete,
#     cache_exists,
#     cache_expire,
#     retry_on_redis_failure
# )

# 提供 get_config 函数的别名
def get_config():
    """获取当前环境的配置对象"""
    return get_config_by_name()

__all__ = [
    # 数据库配置
    'DatabaseConfig',
    'db_config',
    'init_database',
    'close_database',
    'get_database',
    'get_collection',
    'check_database_health',
    'retry_on_connection_failure',
    
    # 配置类和函数
    'Config',
    'DevelopmentConfig', 
    'TestingConfig',
    'ProductionConfig',
    'config',
    'get_config',
    'get_config_by_name',
    'validate_config',
    
    # Redis配置 - 暂时注释
    # 'RedisConfig',
    # 'redis_config',
    # 'init_redis',
    # 'close_redis',
    # 'get_redis',
    # 'check_redis_health',
    # 'cache_set',
    # 'cache_get',
    # 'cache_delete',
    # 'cache_exists',
    # 'cache_expire',
    # 'retry_on_redis_failure'
]

# 版本信息
__version__ = '1.0.0'
__author__ = 'AI MarketIQ Team'
__description__ = 'AI营销方案生成系统配置模块'